package cn.ant.controller;

import cn.ant.entity.MessageSendDTO;
import cn.ant.mqHandle.ProducerSend;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;

/**
 * 测试消息接收并调用生产者
 *
 * @author Anhui AntLaddie <a href="https://juejin.cn/user/4092805620185316">(掘金蚂蚁小哥)</a>
 * @version 1.0
 **/
@Slf4j
@RestController
@RequestMapping("/test")
@RequiredArgsConstructor
public class TestController {

    // 注入生产者对象
    private final ProducerSend producerSend;

    /***
     * 基本的get请求，用来接收消息，并把消息交给生产者，并由生产者推送到指定交换机，由交换机分发消息
     * @param msg 请求消息
     * @return String
     */
    @GetMapping("/produce")
    public String msgSend(MessageSendDTO msg) {
        log.info("Controller接收到请求并把请求的信息交由生产者：{}", msg);
        // 发送消息
        producerSend.producerSendMsg(msg);
        return "请求发送成功，并已接收";
    }
}
